package com.ioandfile;

import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;
import org.apache.commons.io.IOUtils;

import java.io.*;

/*
*将一个音乐文件拆分成多个文件,放到一个文件夹中,这个文件夹以音乐文件的名称命名。
  将被拆分后的文件合并到一起,组成一个新文件,让音乐可以继续播放
* */
public class FIleSplitMergeDemo {
    public static void main(String[] args) {
        File file = new File("/Users/edy/Desktop/file/jdk-8u321-macosx-x64.dmg");
        split(file,10 * 1024 * 1024);





    }

    public static void split(File file, Integer size) {
        String name = file.getName();
        String path = file.getParent();
        String fileDir = name.substring(0, name.lastIndexOf("."));
        String str = path + "/" + fileDir;
        new File(str).mkdirs();

        InputStream is = null;

        try {
            is = new FileInputStream(file.getAbsoluteFile());

            byte[] bytes = new byte[size];
            int len;
            int i = 1;
            while ((len = is.read(bytes)) > 0) {
                OutputStream os = new FileOutputStream(str + "/" + i);
                os.write(bytes);
                i++;
            }

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            IOUtils.closeQuietly(is);
        }



    }

}
